package com.sino.dao;

import java.util.List;

import com.sino.bean.Basicinfo;
import com.sino.bean.TblZhuanjiarukuxinxibiao;
import com.sino.bean.TblZhuanjiayuxiangmuguanxi;

public interface IExpertManageDAO {

	/**
	 * 查询专家
	 * 
	 * @param id :
	 *            专利zlid
	 * @return List
	 */
	public List findExpertsByZlid(String id);

	public TblZhuanjiarukuxinxibiao findExpertsById(Integer zjid);

	/**
	 * 获得专利号id的分配专家
	 * 
	 * @param id
	 * @return
	 */
	public List findExpertsAndBasicinfoByZlid(String id);

	/**
	 * 保存专家和专利对应关系
	 * 
	 * @param tzjxmgx
	 */
	public void saveExpertsAndBasicinfo(TblZhuanjiayuxiangmuguanxi tzjxm);

	/**
	 * 获得专家列表
	 * 
	 */
	public List findExperts(final int firstRow, final int maxRow,
			String hqlwhere);

	/**
	 * 获得所有专家列表
	 * 
	 * @return
	 */
	public List<TblZhuanjiarukuxinxibiao> findAllExperts();
	/**
	 * 获得大评委专家
	 * @return
	 */
	public List<TblZhuanjiarukuxinxibiao> findThirdReviewExperts();

	/**
	 * 通过查询条件查找符合条件的专家列表
	 * 
	 * @param hqlWhere
	 * @return
	 */
	public List<TblZhuanjiarukuxinxibiao> findExperts(String hqlWhere);

	public int findExpertsCount(String hqlwhere);

	/**
	 * 通过id查找专家信息
	 * 
	 * @param id
	 * @return
	 */
	public TblZhuanjiarukuxinxibiao findExpertById(String id);

	/**
	 * 同姓名查找专家信息
	 * 
	 * @param name
	 * @return
	 */
	public List findExpertByName(String name);

	/**
	 * 通过专业代码查找专家信息
	 * 
	 * @param zhuanyema
	 * @return
	 */
	public List<TblZhuanjiarukuxinxibiao> findExpertByZhuanyema(String zhuanyema);

	/**
	 * 删除专利
	 * 
	 * @param zlid
	 */
	public void delExpertsAndBasicinfo(String zlid);

	/**
	 * 专家意见列表
	 * 
	 * @param hqlwhere
	 * @return
	 */
	public int findExpertReviewPageCount(String hqlwhere);

	public List findExpertReviewPageList(final int firstRow, final int maxRow,
			String hqlwhere);

	/**
	 * 保持专家家
	 * 
	 * @param o
	 */
	public void saveExperts(Object o);

	/**
	 * xyw 查找项目根据专业码
	 * 
	 * @param zhuanyema
	 * @return
	 */
	public List<Basicinfo> findSmByZhuanyema(String hql,String zhuanyema);

	/**
	 * xyw 查找所有
	 * 
	 * @return
	 */
	public List<Basicinfo> findAllSms(String hql);

	/**
	 * xyw高级查找项目
	 * 
	 * @param hqlWhere
	 * @return
	 */

	public List<Basicinfo> findSms(String hqlWhere);
}
